home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / tls / tls001a.2 / usr / lib / grafinfo / video7 / vramii.xgi / vramii.xgi
Encoding:
Text File  |  1992-04-23  |  53.5 KB  |  1,558 lines

  1. /*
  2.  *    @(#) vramii.xgi 1.1 91/11/14 
  3.  *
  4.  *    Copyright (C) The Santa Cruz Operation, 1991.
  5.  *    This Module contains Proprietary Information of
  6.  *    The Santa Cruz Operation, and should be treated as Confidential.
  7.  */
  8.  
  9. /*
  10.  *    Supported modes:
  11.  *    VIDEO7.VRAMII.VGA.640x350-16
  12.  *    VIDEO7.VRAMII.VGA.640x480-16
  13.  *    VIDEO7.VRAMII.SVGA.800x600-16
  14.  *    VIDEO7.VRAMII.SVGA.1024x768-16
  15.  *    VIDEO7.VRAMII.SVGA.1024x768-16I
  16.  *    VIDEO7.VRAMII.SVGA.640x400-256
  17.  *    VIDEO7.VRAMII.SVGA.640x480-256
  18.  *    VIDEO7.VRAMII.SVGA.800x600-256
  19.  *    VIDEO7.VRAMII.SVGA.1024x768-256
  20.  *    VIDEO7.VRAMII.SVGA.1024x768-256I
  21.  *    VIDEO7.VRAMII.SVGA.752x410-16
  22.  *    VIDEO7.VRAMII.SVGA.720x540-16
  23.  */
  24.  
  25. VENDOR VIDEO7         "Video 7"
  26.  MODEL  VRAMII         "VRAM II"
  27.   CLASS  VGA         "VGA"
  28.    MODE   640x350-16  "640x350 16-color"      /* VGA 640x350 16 color */
  29.  
  30.       MEMORY(0xA0000,0x10000);        /*  Base Address, Length        */
  31.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  32.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  33.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  34.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  35.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  36.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  37.  
  38.       DATA
  39.          {
  40.          XDRIVER     = "mw";
  41.          VISUAL      = "PseudoColor";
  42.          DEPTH       = 4;
  43.          DEVTYPE     = 01;
  44.          DEVTECH     = 0x0D;            /* VGA */
  45.          PIXBYTES    = 80;
  46.          PIXWIDTH    = 640;
  47.          PIXHEIGHT   = 350;
  48.          PIXRESX     = 68;
  49.          PIXRESY     = 50;
  50.          PIXBITS     = 1;
  51.          PIXPLANES   = 4;
  52.          MAPTYPE     = "EGA";
  53.          BASEADDRESS = 0xA0000;
  54.          INTERLEAVE  = 1;
  55.          INTERSIZE   = 80;
  56.          }
  57.  
  58.       PROCEDURE  SetGraphics
  59.          {
  60.          in(r63,0x3DA);                   /* reset attr F/F  */
  61.          out(0x3C0,0);                    /* disable palette */
  62.  
  63.          r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  64.          bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  65.  
  66.          out(0x3C2,0xA3);                 /* misc out reg */
  67.          r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  68.  
  69.          out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  70.          r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc */
  71.          r4  = 0x54;  r5  = 0x80;  r6  = 0xBF;  r7  = 0x1F;
  72.          r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  73.          r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  74.          r16 = 0x83;  r17 = 0x85;  r18 = 0x5D;  r19 = 0x28;
  75.          r20 = 0x0F;  r21 = 0x63;  r22 = 0xBA;  r23 = 0xE3;
  76.          r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  77.  
  78.          out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  79.          r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  80.          r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  81.          r8  = 0xFF;  bout(9,0x3CE,0x3CF);
  82.  
  83.          in(r63,0x3DA);                   /* reset attr F/F */
  84.  
  85.          r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  86.          r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  87.          r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  88.          r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  89.  
  90.          r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  91.          bout(20,0x3C0,0x3C0);
  92.  
  93.          out(0x3C0,0x20);                 /* enable palette */
  94.          }
  95.  
  96.  
  97.       PROCEDURE SetText
  98.          {
  99.          in(r63,0x3DA);                   /* reset attr F/F */
  100.          out(0x3C0,0);                    /* disable palette */
  101.  
  102.          r0 = 0x01;  r1 = 0x00;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  103.          bout(5,0x3C4,0x3C5);             /* sequencer regs */
  104.  
  105.          out(0x3C2,0x67);                 /* misc out reg   */
  106.          r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer enable */
  107.  
  108.          out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  109.          r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc */
  110.          r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  111.          r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  112.          r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  113.          r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  114.          r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  115.          r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  116.  
  117.          out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  118.          r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  119.          r4  = 0x00;  r5  = 0x10;  r6  = 0x0E;  r7  = 0x00;
  120.          r8  = 0xFF;  bout(9,0x3CE,0x3CF);
  121.  
  122.          in(r63,0x3DA);                   /* reset attr F/F */
  123.  
  124.          r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette    */
  125.          r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  126.          r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  127.          r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  128.          r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  129.          bout(20,0x3C0,0x3C0);
  130.  
  131.          out(0x3C0,0x20);                 /* enable palette */
  132.          }
  133.  
  134. VENDOR VIDEO7         "Video 7"
  135.  MODEL  VRAMII         "VRAM II"
  136.   CLASS  VGA         "VGA"
  137.    MODE   640x480-16  "640x480 16-color"         /* VGA 640x480 16 color */
  138.  
  139.       MEMORY(0xA0000,0x10000);        /* Base Address, Length        */
  140.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /* General/External registers  */
  141.       PORT(0x3C0,0x3C1);              /* Attribute                   */
  142.       PORT(0x3C4,0x3C5);              /* Sequencer                   */
  143.       PORT(0x3C7,0x3C8,0x3C9);        /* Color registers             */
  144.       PORT(0x3CE,0x3CF);              /* Graphics                    */
  145.       PORT(0x3D4,0x3D5);              /* CRTC                        */
  146.  
  147.       DATA
  148.     {
  149.     XDRIVER     = "mw";
  150.     VISUAL      = "PseudoColor";
  151.     DEPTH       = 4;
  152.     DEVTYPE     = 01;
  153.     DEVTECH     = 0x0D;            /* VGA */
  154.     PIXBYTES    = 80;
  155.     PIXWIDTH    = 640;
  156.     PIXHEIGHT   = 480;
  157.     PIXRESX     = 68;
  158.     PIXRESY     = 68;
  159.     PIXBITS     = 1;
  160.     PIXPLANES   = 4;
  161.     MAPTYPE     = "EGA";
  162.     BASEADDRESS = 0xA0000;
  163.     INTERLEAVE  = 1;
  164.     INTERSIZE   = 80;
  165.     }
  166.  
  167.       PROCEDURE SetGraphics
  168.     {
  169.     in(r63,0x3DA);                   /* reset attr F/F  */
  170.     out(0x3C0,0);                    /* disable palette */
  171.  
  172.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  173.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  174.  
  175.     out(0x3C2,0xE3);                 /* misc out reg */
  176.     r0=3;  bout(1,0x3C4,0x3C5);      /* sequencer enable */
  177.  
  178.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  179.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc */
  180.     r4  = 0x54;  r5  = 0x80;  r6  = 0x0B;  r7  = 0x3E;
  181.     r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  182.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  183.     r16 = 0xEA;  r17 = 0x8C;  r18 = 0xDF;  r19 = 0x28;
  184.     r20 = 0x00;  r21 = 0xE7;  r22 = 0x04;  r23 = 0xE3;
  185.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  186.  
  187.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  188.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  189.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  190.     r8  = 0xFF;  bout(9,0x3CE,0x3CF);
  191.  
  192.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  193.  
  194.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  195.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  196.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  197.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  198.     r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  199.     bout(20,0x3C0,0x3C0);
  200.  
  201.     out(0x3C0,0x20);                 /* enable palette */
  202.     }
  203.  
  204.       PROCEDURE SetText
  205.     {
  206.     in(r63,0x3DA);                   /* reset attr F/F */
  207.     out(0x3C0,0);                    /* disable palette */
  208.  
  209.     r0 = 0x01;  r1 = 0x00;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  210.     bout(5,0x3C4,0x3C5);             /* sequencer regs */
  211.  
  212.     out(0x3C2,0x67);                 /* misc out reg   */
  213.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer enable */
  214.  
  215.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  216.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc */
  217.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  218.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  219.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  220.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  221.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  222.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  223.  
  224.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  225.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  226.     r4  = 0x00;  r5  = 0x10;  r6  = 0x0E;  r7  = 0x00;
  227.     r8  = 0xFF;  bout(9,0x3CE,0x3CF);
  228.  
  229.     in(r63,0x3DA);                   /* reset attr F/F */
  230.  
  231.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette    */
  232.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  233.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  234.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  235.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  236.     bout(20,0x3C0,0x3C0);
  237.  
  238.     out(0x3C0,0x20);                 /* enable palette */
  239.     }
  240.  
  241.  
  242. VENDOR VIDEO7      "Video 7"
  243.  MODEL  VRAMII        "VRAM II"
  244.   CLASS  SVGA         "SVGA"
  245.    MODE   800x600-16  "800x600 16-color"      /* VGA 800x600 16 color */
  246.  
  247.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  248.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  249.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  250.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  251.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  252.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  253.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  254.  
  255.       DATA
  256.     {
  257.     XDRIVER     = "mw";
  258.     DEPTH       = 4;
  259.     VISUAL      = "PseudoColor";
  260.     DEVTYPE     = 01;
  261.     DEVTECH     = 0x0D;            /* VGA */
  262.     PIXBYTES    = 100;
  263.     PIXWIDTH    = 800;
  264.     PIXHEIGHT   = 600;
  265.     PIXRESX     = 68;
  266.     PIXRESY     = 50;
  267.     PIXBITS     = 1;
  268.     PIXPLANES   = 4;
  269.     BASEADDRESS = 0xA0000;
  270.     INTERLEAVE  = 1;
  271.     INTERSIZE   = 80;
  272.     }
  273.  
  274.       PROCEDURE  SetGraphics
  275.     {
  276.     in(r63,0x3DA);                   /* reset attr F/F  */
  277.     out(0x3C0,0);                    /* disable palette */
  278.  
  279.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  280.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  281.  
  282.     out(0x3C2,0x2F);                 /* misc out reg */
  283.  
  284.     /* enable extension registers */
  285.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  286.  
  287.     /* extended registers */
  288.     out(0x3c4,0xfd);out(0x3c5,0xcd);
  289.     out(0x3c4,0xa4);out(0x3c5,0x08);
  290.     out(0x3c4,0xe1);out(0x3c5,0x00);
  291.     out(0x3c4,0xfc);out(0x3c5,0x08);
  292.     out(0x3c4,0xf6);out(0x3c5,0x00);
  293.     out(0x3c4,0xf8);out(0x3c5,0x0b);
  294.     out(0x3c4,0xff);out(0x3c5,0x00);
  295.     out(0x3c4,0xe0);out(0x3c5,0x10);
  296.  
  297.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  298.  
  299.  
  300.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  301.     r0  = 0x7f;  r1  = 0x63;  r2  = 0x63;  r3  = 0x82; /* crtc */
  302.     r4  = 0x69;  r5  = 0x19;  r6  = 0x72;  r7  = 0xf0;
  303.     r8  = 0x00;  r9  = 0x60;  r10 = 0x00;  r11 = 0x00;
  304.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  305.     r16 = 0x59;  r17 = 0x8d;  r18 = 0x57;  r19 = 0x32;
  306.     r20 = 0x00;  r21 = 0x58;  r22 = 0x72;  r23 = 0xE3;
  307.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  308.  
  309.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  310.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  311.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  312.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  313.  
  314.     in(r63,0x3DA);                   /* reset attr F/F */
  315.  
  316.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  317.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  318.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  319.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  320.  
  321.     r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  322.     bout(20,0x3C0,0x3C0);
  323.  
  324.     out(0x3C0,0x20);                 /* enable palette */
  325.     }
  326.  
  327.       PROCEDURE SetText
  328.     {
  329.     in(r63,0x3DA);                   /* reset attr F/F */
  330.     out(0x3C0,0);                    /* disable palette */
  331.  
  332.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  333.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  334.  
  335.     out(0x3C2,0xA3);                 /* misc out reg */
  336.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  337.  
  338.     /* set extended sequencer regs */
  339.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  340.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  341.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  342.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  343.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  344.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  345.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  346.  
  347.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  348.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  349.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  350.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  351.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  352.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  353.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  354.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  355.  
  356.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  357.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  358.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  359.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  360.  
  361.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  362.  
  363.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  364.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  365.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  366.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  367.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  368.     bout(20,0x3C0,0x3C0);
  369.  
  370.     out(0x3C0,0x20);                 /* enable palette */
  371.     }
  372.  
  373. VENDOR VIDEO7      "Video 7"
  374.  MODEL  VRAMII        "VRAM II"
  375.   CLASS  SVGA         "SVGA"
  376.    MODE   1024x768-16  "1024x768 16-color"      /* VGA 1024x768 16 color */
  377.  
  378.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  379.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  380.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  381.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  382.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  383.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  384.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  385.  
  386.       DATA
  387.     {
  388.     XDRIVER     = "mw";
  389.     DEPTH       = 4;
  390.     VISUAL      = "PseudoColor";
  391.     DEVCLASS    = 67;
  392.     DEVTYPE     = 01;
  393.     DEVTECH     = 0x0D;            /* VGA */
  394.     PIXBYTES    = 128;
  395.     PIXWIDTH    = 1024;
  396.     PIXHEIGHT   = 768;
  397.     PIXRESX     = 68;
  398.     PIXRESY     = 50;
  399.     PIXBITS     = 1;
  400.     PIXPLANES   = 4;
  401.     BASEADDRESS = 0xA0000;
  402.     INTERLEAVE  = 1;
  403.     INTERSIZE   = 80;
  404.     MAPTYPE     = "EGA";
  405.     }
  406.  
  407.       PROCEDURE  SetGraphics
  408.     {
  409.     in(r63,0x3DA);                   /* reset attr F/F  */
  410.     out(0x3C0,0);                    /* disable palette */
  411.  
  412.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  413.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  414.  
  415.     out(0x3C2,0x07);                 /* misc out reg */
  416.  
  417.     /* enable extension registers */
  418.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  419.  
  420.     /* extended registers */
  421.     out(0x3c4,0xfd); out(0x3c5,0xe0);
  422.     out(0x3c4,0xa4); out(0x3c5,0x04);
  423.     out(0x3c4,0xe1); out(0x3c5,0x00);
  424.     out(0x3c4,0xfc); out(0x3c5,0x08);
  425.     out(0x3c4,0xf6); out(0x3c5,0xc0);
  426.     out(0x3c4,0xf8); out(0x3c5,0x02);
  427.     out(0x3c4,0xff); out(0x3c5,0x00);
  428.     out(0x3c4,0xe0); out(0x3c5,0x18);
  429.  
  430.     /* sequencer enable */
  431.     r0=3; bout(1,0x3C4,0x3C5);
  432.  
  433.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  434.     r0  = 0xa3;  r1  = 0x7f;  r2  = 0x82;  r3  = 0xa6; /* crtc */
  435.     r4  = 0x8d;  r5  = 0x82;  r6  = 0x29;  r7  = 0xfd;
  436.     r8  = 0x00;  r9  = 0x60;  r10 = 0x00;  r11 = 0x00;
  437.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  438.     r16 = 0x07;  r17 = 0x8a;  r18 = 0xff;  r19 = 0x40;
  439.     r20 = 0x00;  r21 = 0x07;  r22 = 0x22;  r23 = 0xE3;
  440.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  441.  
  442.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  443.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  444.     r4  = 0x00;  r5  = 0x00;  r6  = 0x01;  r7  = 0x0F;
  445.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  446.  
  447.     in(r63,0x3DA);                   /* reset attr F/F */
  448.  
  449.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  450.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  451.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  452.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  453.  
  454.     r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  455.     bout(20,0x3C0,0x3C0);
  456.  
  457.     out(0x3C0,0x20);                 /* enable palette */
  458.     }
  459.  
  460.       PROCEDURE SetText
  461.     {
  462.     in(r63,0x3DA);                   /* reset attr F/F */
  463.     out(0x3C0,0);                    /* disable palette */
  464.  
  465.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  466.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  467.  
  468.     out(0x3C2,0xA3);                 /* misc out reg */
  469.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  470.  
  471.     /* set extended sequencer regs */
  472.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  473.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  474.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  475.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  476.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  477.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  478.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  479.  
  480.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  481.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  482.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  483.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  484.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  485.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  486.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  487.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  488.  
  489.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  490.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  491.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  492.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  493.  
  494.     in(r63,0x3DA);           /* reset attribute flip/flop */
  495.  
  496.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  497.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  498.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  499.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  500.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  501.     bout(20,0x3C0,0x3C0);
  502.  
  503.     out(0x3C0,0x20);                 /* enable palette */
  504.     }
  505.  
  506.  
  507. VENDOR VIDEO7      "Video 7"
  508.  MODEL  VRAMII        "VRAM II"
  509.   CLASS  SVGA         "SVGA"
  510.    MODE   1024x768-16I  "1024x768 16-color Interlaced"
  511.  
  512.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  513.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  514.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  515.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  516.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  517.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  518.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  519.  
  520.       DATA
  521.     {
  522.     XDRIVER     = "mw";
  523.     DEPTH       = 4;
  524.     VISUAL      = "PseudoColor";
  525.     DEVCLASS    = 67;
  526.     DEVTYPE     = 01;
  527.     DEVTECH     = 0x0D;            /* VGA */
  528.     PIXBYTES    = 128;
  529.     PIXWIDTH    = 1024;
  530.     PIXHEIGHT   = 768;
  531.     PIXRESX     = 68;
  532.     PIXRESY     = 50;
  533.     PIXBITS     = 1;
  534.     PIXPLANES   = 4;
  535.     BASEADDRESS = 0xA0000;
  536.     INTERLEAVE  = 1;
  537.     INTERSIZE   = 80;
  538.     MAPTYPE     = "EGA";
  539.     }
  540.  
  541.       PROCEDURE  SetGraphics
  542.     {
  543.     in(r63,0x3DA);                   /* reset attr F/F  */
  544.     out(0x3C0,0);                    /* disable palette */
  545.  
  546.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  547.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  548.  
  549.     out(0x3C2,0x0f);                 /* misc out reg */
  550.  
  551.     /* enable extension registers */
  552.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  553.  
  554.     /* extended registers */
  555.     out(0x3c4,0xfd); out(0x3c5,0xed);
  556.     out(0x3c4,0xa4); out(0x3c5,0x1c);
  557.     out(0x3c4,0xe1); out(0x3c5,0x33);
  558.     out(0x3c4,0xfc); out(0x3c5,0x08);
  559.     out(0x3c4,0xf6); out(0x3c5,0xc0);
  560.     out(0x3c4,0xf8); out(0x3c5,0x03);
  561.     out(0x3c4,0xff); out(0x3c5,0x00);
  562.     out(0x3c4,0xe0); out(0x3c5,0x19);
  563.  
  564.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  565.  
  566.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  567.     r0  = 0x99;  r1  = 0x7f;  r2  = 0x81;  r3  = 0xbc; /* crtc */
  568.     r4  = 0x82;  r5  = 0x16;  r6  = 0x96;  r7  = 0x1f;
  569.     r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  570.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  571.     r16 = 0x80;  r17 = 0x84;  r18 = 0x7f;  r19 = 0x40;
  572.     r20 = 0x00;  r21 = 0x80;  r22 = 0x95;  r23 = 0xE3;
  573.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  574.  
  575.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  576.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  577.     r4  = 0x00;  r5  = 0x00;  r6  = 0x01;  r7  = 0x0F;
  578.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  579.  
  580.     in(r63,0x3DA);                   /* reset attr F/F */
  581.  
  582.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  583.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  584.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  585.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  586.  
  587.     r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  588.     bout(20,0x3C0,0x3C0);
  589.  
  590.     out(0x3C0,0x20);                 /* enable palette */
  591.     }
  592.  
  593.  
  594.       PROCEDURE SetText
  595.     {
  596.     in(r63,0x3DA);                   /* reset attr F/F */
  597.     out(0x3C0,0);                    /* disable palette */
  598.  
  599.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  600.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  601.  
  602.     out(0x3C2,0xA3);                 /* misc out reg */
  603.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  604.  
  605.     /* set extended sequencer regs */
  606.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  607.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  608.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  609.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  610.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  611.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  612.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  613.  
  614.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  615.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  616.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  617.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  618.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  619.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  620.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  621.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  622.  
  623.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  624.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  625.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  626.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  627.  
  628.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  629.  
  630.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  631.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  632.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  633.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  634.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  635.     bout(20,0x3C0,0x3C0);
  636.  
  637.     out(0x3C0,0x20);                 /* enable palette */
  638.     }
  639.  
  640. VENDOR VIDEO7      "Video 7"
  641.  MODEL  VRAMII        "VRAM II"
  642.   CLASS  SVGA         "SVGA"
  643.    MODE   640x400-256  "640x400 256-color"
  644.  
  645.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  646.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  647.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  648.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  649.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  650.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  651.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  652.  
  653.       DATA
  654.     {
  655.     XDRIVER     = "mw";
  656.     DEPTH       = 8;
  657.     VISUAL      = "PseudoColor";
  658.     DEVTYPE     = 01;
  659.     DEVTECH     = 0x04;            /* VGA */
  660.     PIXBYTES    = 640;
  661.     PIXWIDTH    = 640;
  662.     PIXHEIGHT   = 400;
  663.     PIXRESX     = 68;
  664.     PIXRESY     = 50;
  665.     PIXBITS     = 8;
  666.     PIXPLANES   = 1;
  667.     BASEADDRESS = 0xA0000;
  668.     INTERLEAVE  = 1;
  669.     INTERSIZE   = 640;
  670.     MAPTYPE     = "VIDEO7V3_64K";
  671.     }
  672.  
  673.       PROCEDURE  SetGraphics
  674.     {
  675.     in(r63,0x3DA);                   /* reset attr F/F  */
  676.     out(0x3C0,0);                    /* disable palette */
  677.  
  678.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 0x0e;
  679.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  680.  
  681.     out(0x3C2,0x43);                 /* misc out reg */
  682.  
  683.     /* enable extension registers */
  684.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  685.  
  686.     /* extended registers */
  687.     out(0x3c4,0xfd);out(0x3c5,0xb2);
  688.     out(0x3c4,0xa4);out(0x3c5,0x00);
  689.     out(0x3c4,0xe1);out(0x3c5,0x00);
  690.     out(0x3c4,0xfc);out(0x3c5,0x2c);
  691.     out(0x3c4,0xf6);out(0x3c5,0x00);
  692.     out(0x3c4,0xf8);out(0x3c5,0x03);
  693.     out(0x3c4,0xff);out(0x3c5,0x00);
  694.     out(0x3c4,0xe0);out(0x3c5,0x10);
  695.  
  696.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  697.  
  698.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  699.     r0  = 0x5f;  r1  = 0x4f;  r2  = 0x50;  r3  = 0x82; /* crtc */
  700.     r4  = 0x53;  r5  = 0x9f;  r6  = 0xbf;  r7  = 0x1f;
  701.     r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  702.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  703.     r16 = 0x9c;  r17 = 0x8e;  r18 = 0x8f;  r19 = 0x28;
  704.     r20 = 0x00;  r21 = 0x96;  r22 = 0xb9;  r23 = 0xa3;
  705.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  706.  
  707.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  708.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  709.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  710.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  711.  
  712.     in(r63,0x3DA);                   /* reset attr F/F */
  713.  
  714.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  715.     r4  = 0x04;  r5  = 0x05;  r6  = 0x06;  r7  = 0x07;
  716.     r8  = 0x08;  r9  = 0x09;  r10 = 0x0a;  r11 = 0x0b;
  717.     r12 = 0x0c;  r13 = 0x0d;  r14 = 0x0e;  r15 = 0x0f;
  718.  
  719.     r16 = 0x81;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  720.     bout(20,0x3C0,0x3C0);
  721.  
  722.     out(0x3C0,0x20);                 /* enable palette */
  723.     }
  724.  
  725.       PROCEDURE SetText
  726.     {
  727.     in(r63,0x3DA);                   /* reset attr F/F */
  728.     out(0x3C0,0);                    /* disable palette */
  729.  
  730.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  731.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  732.  
  733.     out(0x3C2,0xA3);                 /* misc out reg */
  734.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  735.  
  736.     /* set extended sequencer regs */
  737.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  738.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  739.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  740.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  741.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  742.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  743.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  744.  
  745.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  746.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  747.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  748.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  749.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  750.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  751.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  752.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  753.  
  754.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  755.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  756.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  757.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  758.  
  759.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  760.  
  761.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  762.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  763.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  764.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  765.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  766.     bout(20,0x3C0,0x3C0);
  767.  
  768.     out(0x3C0,0x20);                 /* enable palette */
  769.     }
  770.  
  771. VENDOR VIDEO7      "Video 7"
  772.  MODEL  VRAMII        "VRAM II"
  773.   CLASS  SVGA         "SVGA"
  774.    MODE   640x480-256  "640x480 256-color"
  775.  
  776.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  777.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  778.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  779.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  780.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  781.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  782.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  783.  
  784.       DATA
  785.     {
  786.     XDRIVER     = "mw";
  787.     DEPTH       = 8;
  788.     VISUAL      = "PseudoColor";
  789.     DEVTYPE     = 01;
  790.     DEVTECH     = 0x04;            /* VGA */
  791.     PIXBYTES    = 640;
  792.     PIXWIDTH    = 640;
  793.     PIXHEIGHT   = 480;
  794.     PIXRESX     = 68;
  795.     PIXRESY     = 50;
  796.     PIXBITS     = 8;
  797.     PIXPLANES   = 1;
  798.     BASEADDRESS = 0xA0000;
  799.     INTERLEAVE  = 1;
  800.     INTERSIZE   = 640;
  801.     MAPTYPE     = "VIDEO7V3_64K";
  802.     }
  803.  
  804.       PROCEDURE  SetGraphics
  805.     {
  806.     in(r63,0x3DA);                   /* reset attr F/F  */
  807.     out(0x3C0,0);                    /* disable palette */
  808.  
  809.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 0x0e;
  810.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  811.  
  812.     out(0x3C2,0xc3);                 /* misc out reg */
  813.  
  814.     /* enable extension registers */
  815.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  816.  
  817.     /* extended registers */
  818.     out(0x3c4,0xfd);out(0x3c5,0xb2);
  819.     out(0x3c4,0xa4);out(0x3c5,0x00);
  820.     out(0x3c4,0xe1);out(0x3c5,0x00);
  821.     out(0x3c4,0xfc);out(0x3c5,0x2c);
  822.     out(0x3c4,0xf6);out(0x3c5,0xc0);
  823.     out(0x3c4,0xf8);out(0x3c5,0x03);
  824.     out(0x3c4,0xff);out(0x3c5,0x00);
  825.     out(0x3c4,0xe0);out(0x3c5,0x10);
  826.  
  827.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  828.  
  829.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  830.     r0  = 0x5f;  r1  = 0x4f;  r2  = 0x50;  r3  = 0x82; /* crtc */
  831.     r4  = 0x53;  r5  = 0x9f;  r6  = 0x0b;  r7  = 0x3e;
  832.     r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  833.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  834.     r16 = 0xea;  r17 = 0x8c;  r18 = 0xdf;  r19 = 0x28;
  835.     r20 = 0x00;  r21 = 0xe7;  r22 = 0x04;  r23 = 0xa3;
  836.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  837.  
  838.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  839.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  840.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  841.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  842.  
  843.     in(r63,0x3DA);                   /* reset attr F/F */
  844.  
  845.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  846.     r4  = 0x04;  r5  = 0x05;  r6  = 0x06;  r7  = 0x07;
  847.     r8  = 0x08;  r9  = 0x09;  r10 = 0x0a;  r11 = 0x0b;
  848.     r12 = 0x0c;  r13 = 0x0d;  r14 = 0x0e;  r15 = 0x0f;
  849.  
  850.     r16 = 0x81;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  851.     bout(20,0x3C0,0x3C0);
  852.  
  853.     out(0x3C0,0x20);                 /* enable palette */
  854.     }
  855.  
  856.       PROCEDURE SetText
  857.     {
  858.     in(r63,0x3DA);                   /* reset attr F/F */
  859.     out(0x3C0,0);                    /* disable palette */
  860.  
  861.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  862.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  863.  
  864.     out(0x3C2,0xA3);                 /* misc out reg */
  865.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  866.  
  867.     /* set extended sequencer regs */
  868.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  869.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  870.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  871.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  872.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  873.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  874.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  875.  
  876.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  877.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  878.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  879.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  880.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  881.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  882.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  883.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  884.  
  885.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  886.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  887.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  888.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  889.  
  890.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  891.  
  892.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  893.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  894.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  895.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  896.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  897.     bout(20,0x3C0,0x3C0);
  898.  
  899.     out(0x3C0,0x20);                 /* enable palette */
  900.     }
  901.  
  902. VENDOR VIDEO7      "Video 7"
  903.  MODEL  VRAMII        "VRAM II"
  904.   CLASS  SVGA         "SVGA"
  905.    MODE   800x600-256  "800x600 256-color"
  906.  
  907.       MEMORY(0xA0000,0x10000);        /*  Base Address, Length        */
  908.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  909.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  910.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  911.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  912.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  913.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  914.  
  915.       DATA
  916.     {
  917.     XDRIVER     = "mw";
  918.     DEPTH       = 8;
  919.     VISUAL      = "PseudoColor";
  920.     DEVTYPE     = 01;
  921.     DEVTECH     = 0x04;            /* VGA */
  922.     PIXBYTES    = 800;
  923.     PIXWIDTH    = 800;
  924.     PIXHEIGHT   = 600;
  925.     PIXRESX     = 68;
  926.     PIXRESY     = 50;
  927.     PIXBITS     = 8;
  928.     PIXPLANES   = 1;
  929.     BASEADDRESS = 0xA0000;
  930.     INTERLEAVE  = 1;
  931.     INTERSIZE   = 800;
  932.     MAPTYPE     = "VIDEO7V3_64K";
  933.     }
  934.  
  935.       PROCEDURE  SetGraphics
  936.     {
  937.     in(r63,0x3DA);                   /* reset attr F/F  */
  938.     out(0x3C0,0);                    /* disable palette */
  939.  
  940.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 0x0e;
  941.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  942.  
  943.     out(0x3C2,0x0f);                 /* misc out reg */
  944.  
  945.     /* enable extension registers */
  946.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  947.  
  948.     /* extended registers */
  949.     out(0x3c4,0xfd);out(0x3c5,0xdd);
  950.     out(0x3c4,0xa4);out(0x3c5,0x08);
  951.     out(0x3c4,0xe1);out(0x3c5,0x00);
  952.     out(0x3c4,0xfc);out(0x3c5,0x2c);
  953.     out(0x3c4,0xf6);out(0x3c5,0xc0);
  954.     out(0x3c4,0xf8);out(0x3c5,0x0b);
  955.     out(0x3c4,0xff);out(0x3c5,0x00);
  956.     out(0x3c4,0xe0);out(0x3c5,0x10);
  957.  
  958.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  959.  
  960.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  961.     r0  = 0x7f;  r1  = 0x63;  r2  = 0x65;  r3  = 0x82; /* crtc */
  962.     r4  = 0x69;  r5  = 0x19;  r6  = 0x72;  r7  = 0xf0;
  963.     r8  = 0x00;  r9  = 0x60;  r10 = 0x00;  r11 = 0x00;
  964.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  965.     r16 = 0x59;  r17 = 0x8d;  r18 = 0x57;  r19 = 0x32;
  966.     r20 = 0x00;  r21 = 0x58;  r22 = 0x72;  r23 = 0xa3;
  967.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  968.  
  969.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  970.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  971.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  972.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  973.  
  974.     in(r63,0x3DA);                   /* reset attr F/F */
  975.  
  976.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  977.     r4  = 0x04;  r5  = 0x05;  r6  = 0x06;  r7  = 0x07;
  978.     r8  = 0x08;  r9  = 0x09;  r10 = 0x0a;  r11 = 0x0b;
  979.     r12 = 0x0c;  r13 = 0x0d;  r14 = 0x0e;  r15 = 0x0f;
  980.  
  981.     r16 = 0x81;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  982.     bout(20,0x3C0,0x3C0);
  983.  
  984.     out(0x3C0,0x20);                 /* enable palette */
  985.     }
  986.  
  987.       PROCEDURE SetText
  988.     {
  989.     in(r63,0x3DA);                   /* reset attr F/F */
  990.     out(0x3C0,0);                    /* disable palette */
  991.  
  992.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  993.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  994.  
  995.     out(0x3C2,0xA3);                 /* misc out reg */
  996.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  997.  
  998.     /* set extended sequencer regs */
  999.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  1000.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  1001.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  1002.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  1003.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  1004.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  1005.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  1006.  
  1007.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1008.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  1009.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  1010.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  1011.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1012.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  1013.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  1014.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1015.  
  1016.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1017.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  1018.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  1019.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  1020.  
  1021.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  1022.  
  1023.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  1024.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  1025.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1026.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1027.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  1028.     bout(20,0x3C0,0x3C0);
  1029.  
  1030.     out(0x3C0,0x20);                 /* enable palette */
  1031.     }
  1032.  
  1033. VENDOR VIDEO7      "Video 7"
  1034.  MODEL  VRAMII        "VRAM II"
  1035.   CLASS  SVGA         "SVGA"
  1036.    MODE   1024x768-256  "1024x768 256-color"
  1037.  
  1038.       MEMORY(0xA0000,0x10000);        /*  Base Address, Length        */
  1039.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  1040.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  1041.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  1042.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  1043.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  1044.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  1045.  
  1046.       DATA
  1047.     {
  1048.     XDRIVER     = "mw";
  1049.     DEPTH       = 8;
  1050.     VISUAL      = "PseudoColor";
  1051.     DEVTYPE     = 01;
  1052.     DEVTECH     = 0x04;            /* VGA */
  1053.     PIXBYTES    = 1024;
  1054.     PIXWIDTH    = 1024;
  1055.     PIXHEIGHT   = 768;
  1056.     PIXRESX     = 68;
  1057.     PIXRESY     = 50;
  1058.     PIXBITS     = 8;
  1059.     PIXPLANES   = 1;
  1060.     BASEADDRESS = 0xA0000;
  1061.     INTERLEAVE  = 1;
  1062.     INTERSIZE   = 1024;
  1063.     MAPTYPE     = "VIDEO7V3_64K";
  1064.     }
  1065.  
  1066.       PROCEDURE  SetGraphics
  1067.     {
  1068.     in(r63,0x3DA);                   /* reset attr F/F  */
  1069.     out(0x3C0,0);                    /* disable palette */
  1070.  
  1071.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 0x0e;
  1072.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  1073.  
  1074.     out(0x3C2,0xc7);                 /* misc out reg */
  1075.  
  1076.     /* enable extension registers */
  1077.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  1078.  
  1079.     /* extended registers */
  1080.     out(0x3c4,0xfd);out(0x3c5,0xf0);
  1081.     out(0x3c4,0xa4);out(0x3c5,0x04);
  1082.     out(0x3c4,0xe1);out(0x3c5,0x00);
  1083.     out(0x3c4,0xfc);out(0x3c5,0x6c);
  1084.     out(0x3c4,0xf6);out(0x3c5,0xc0);
  1085.     out(0x3c4,0xf8);out(0x3c5,0x02);
  1086.     out(0x3c4,0xff);out(0x3c5,0x00);
  1087.     out(0x3c4,0xe0);out(0x3c5,0x10);
  1088.  
  1089.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  1090.  
  1091.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1092.     r0  = 0xa3;  r1  = 0x7f;  r2  = 0x82;  r3  = 0x86; /* crtc */
  1093.     r4  = 0x8d;  r5  = 0x82;  r6  = 0x29;  r7  = 0xfd;
  1094.     r8  = 0x00;  r9  = 0x60;  r10 = 0x00;  r11 = 0x00;
  1095.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1096.     r16 = 0x07;  r17 = 0x8a;  r18 = 0xff;  r19 = 0x40;
  1097.     r20 = 0x00;  r21 = 0x07;  r22 = 0x22;  r23 = 0xa3;
  1098.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1099.  
  1100.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1101.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  1102.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  1103.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  1104.  
  1105.     in(r63,0x3DA);                   /* reset attr F/F */
  1106.  
  1107.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  1108.     r4  = 0x04;  r5  = 0x05;  r6  = 0x06;  r7  = 0x07;
  1109.     r8  = 0x08;  r9  = 0x09;  r10 = 0x0a;  r11 = 0x0b;
  1110.     r12 = 0x0c;  r13 = 0x0d;  r14 = 0x0e;  r15 = 0x0f;
  1111.  
  1112.     r16 = 0x81;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  1113.     bout(20,0x3C0,0x3C0);
  1114.  
  1115.     out(0x3C0,0x20);                 /* enable palette */
  1116.     }
  1117.  
  1118.       PROCEDURE SetText
  1119.     {
  1120.     in(r63,0x3DA);                   /* reset attr F/F */
  1121.     out(0x3C0,0);                    /* disable palette */
  1122.  
  1123.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  1124.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  1125.  
  1126.     out(0x3C2,0xA3);                 /* misc out reg */
  1127.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  1128.  
  1129.     /* set extended sequencer regs */
  1130.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  1131.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  1132.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  1133.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  1134.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  1135.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  1136.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  1137.  
  1138.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1139.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  1140.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  1141.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  1142.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1143.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  1144.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  1145.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1146.  
  1147.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1148.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  1149.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  1150.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  1151.  
  1152.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  1153.  
  1154.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  1155.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  1156.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1157.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1158.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  1159.     bout(20,0x3C0,0x3C0);
  1160.  
  1161.     out(0x3C0,0x20);                 /* enable palette */
  1162.     }
  1163.  
  1164. VENDOR VIDEO7      "Video 7"
  1165.  MODEL  VRAMII        "VRAM II"
  1166.   CLASS  SVGA         "SVGA"
  1167.    MODE   1024x768-256I  "1024x768 256-color Interlaced"
  1168.  
  1169.       MEMORY(0xA0000,0x10000);        /*  Base Address, Length        */
  1170.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  1171.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  1172.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  1173.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  1174.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  1175.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  1176.  
  1177.       DATA
  1178.     {
  1179.     XDRIVER     = "mw";
  1180.     DEPTH       = 8;
  1181.     VISUAL      = "PseudoColor";
  1182.     DEVTYPE     = 01;
  1183.     DEVTECH     = 0x04;            /* VGA */
  1184.     PIXBYTES    = 1024;
  1185.     PIXWIDTH    = 1024;
  1186.     PIXHEIGHT   = 768;
  1187.     PIXRESX     = 68;
  1188.     PIXRESY     = 50;
  1189.     PIXBITS     = 8;
  1190.     PIXPLANES   = 1;
  1191.     BASEADDRESS = 0xA0000;
  1192.     INTERLEAVE  = 1;
  1193.     INTERSIZE   = 1024;
  1194.     MAPTYPE     = "VIDEO7V3_64K";
  1195.     }
  1196.  
  1197.       PROCEDURE  SetGraphics
  1198.     {
  1199.     in(r63,0x3DA);                   /* reset attr F/F  */
  1200.     out(0x3C0,0);                    /* disable palette */
  1201.  
  1202.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 0x0e;
  1203.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  1204.  
  1205.     out(0x3C2,0x0f);                 /* misc out reg */
  1206.  
  1207.     /* enable extension registers */
  1208.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  1209.  
  1210.     /* extended registers */
  1211.     out(0x3c4,0xfd);out(0x3c5,0xdd);
  1212.     out(0x3c4,0xa4);out(0x3c5,0x1c);
  1213.     out(0x3c4,0xe1);out(0x3c5,0x00);
  1214.     out(0x3c4,0xfc);out(0x3c5,0x2c);
  1215.     out(0x3c4,0xf6);out(0x3c5,0xc0);
  1216.     out(0x3c4,0xf8);out(0x3c5,0x03);
  1217.     out(0x3c4,0xff);out(0x3c5,0x00);
  1218.     out(0x3c4,0xe0);out(0x3c5,0x11);
  1219.  
  1220.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  1221.  
  1222.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1223.     r0  = 0x99;  r1  = 0x7f;  r2  = 0x81;  r3  = 0x9c; /* crtc */
  1224.     r4  = 0x82;  r5  = 0x16;  r6  = 0x96;  r7  = 0x1f;
  1225.     r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  1226.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1227.     r16 = 0x80;  r17 = 0x84;  r18 = 0x7f;  r19 = 0x40;
  1228.     r20 = 0x00;  r21 = 0x80;  r22 = 0x95;  r23 = 0xa3;
  1229.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1230.  
  1231.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1232.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  1233.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  1234.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  1235.  
  1236.     in(r63,0x3DA);                   /* reset attr F/F */
  1237.  
  1238.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  1239.     r4  = 0x04;  r5  = 0x05;  r6  = 0x06;  r7  = 0x07;
  1240.     r8  = 0x08;  r9  = 0x09;  r10 = 0x0a;  r11 = 0x0b;
  1241.     r12 = 0x0c;  r13 = 0x0d;  r14 = 0x0e;  r15 = 0x0f;
  1242.  
  1243.     r16 = 0x81;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  1244.     bout(20,0x3C0,0x3C0);
  1245.  
  1246.     out(0x3C0,0x20);                 /* enable palette */
  1247.     }
  1248.  
  1249.       PROCEDURE SetText
  1250.     {
  1251.     in(r63,0x3DA);                   /* reset attr F/F */
  1252.     out(0x3C0,0);                    /* disable palette */
  1253.  
  1254.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  1255.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  1256.  
  1257.     out(0x3C2,0xA3);                 /* misc out reg */
  1258.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  1259.  
  1260.     /* set extended sequencer regs */
  1261.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  1262.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  1263.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  1264.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  1265.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  1266.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  1267.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  1268.  
  1269.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1270.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  1271.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  1272.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  1273.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1274.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  1275.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  1276.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1277.  
  1278.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1279.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  1280.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  1281.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  1282.  
  1283.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  1284.  
  1285.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  1286.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  1287.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1288.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1289.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  1290.     bout(20,0x3C0,0x3C0);
  1291.  
  1292.     out(0x3C0,0x20);                 /* enable palette */
  1293.     }
  1294.  
  1295. VENDOR VIDEO7      "Video 7"
  1296.  MODEL  VRAMII        "VRAM II"
  1297.   CLASS  SVGA         "SVGA"
  1298.    MODE   752x410-16  "752x410 16-color"      /* VGA 752x410 16 color */
  1299.  
  1300.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  1301.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  1302.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  1303.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  1304.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  1305.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  1306.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  1307.  
  1308.       DATA
  1309.     {
  1310.     XDRIVER     = "mw";
  1311.     DEPTH       = 4;
  1312.     VISUAL      = "PseudoColor";
  1313.     DEVTYPE     = 01;
  1314.     DEVTECH     = 0x0D;            /* VGA */
  1315.     PIXBYTES    = 94;
  1316.     PIXWIDTH    = 752;
  1317.     PIXHEIGHT   = 410;
  1318.     PIXRESX     = 68;
  1319.     PIXRESY     = 50;
  1320.     PIXBITS     = 1;
  1321.     PIXPLANES   = 4;
  1322.     BASEADDRESS = 0xA0000;
  1323.     INTERLEAVE  = 1;
  1324.     INTERSIZE   = 80;
  1325.     }
  1326.  
  1327.       PROCEDURE  SetGraphics
  1328.     {
  1329.     in(r63,0x3DA);                   /* reset attr F/F  */
  1330.     out(0x3C0,0);                    /* disable palette */
  1331.  
  1332.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  1333.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  1334.  
  1335.     out(0x3C2,0xeF);                 /* misc out reg */
  1336.  
  1337.     /* enable extension registers */
  1338.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  1339.  
  1340.     /* extended registers */
  1341.     out(0x3c4,0xfd);out(0x3c5,0x82);
  1342.     out(0x3c4,0xa4);out(0x3c5,0x04);
  1343.     out(0x3c4,0xe1);out(0x3c5,0x00);
  1344.     out(0x3c4,0xfc);out(0x3c5,0x08);
  1345.     out(0x3c4,0xf6);out(0x3c5,0x00);
  1346.     out(0x3c4,0xf8);out(0x3c5,0x03);
  1347.     out(0x3c4,0xff);out(0x3c5,0x00);
  1348.     out(0x3c4,0xe0);out(0x3c5,0x10);
  1349.  
  1350.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  1351.  
  1352.  
  1353.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1354.     r0  = 0x6d;  r1  = 0x5d;  r2  = 0x5e;  r3  = 0x90; /* crtc */
  1355.     r4  = 0x61;  r5  = 0x8e;  r6  = 0xbc;  r7  = 0x1f;
  1356.     r8  = 0x00;  r9  = 0x40;  r10 = 0x00;  r11 = 0x00;
  1357.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1358.     r16 = 0xa1;  r17 = 0x83;  r18 = 0x99;  r19 = 0x2f;
  1359.     r20 = 0x00;  r21 = 0xa0;  r22 = 0xb6;  r23 = 0xE3;
  1360.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1361.  
  1362.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1363.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  1364.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  1365.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  1366.  
  1367.     in(r63,0x3DA);                   /* reset attr F/F */
  1368.  
  1369.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  1370.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  1371.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1372.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1373.  
  1374.     r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  1375.     bout(20,0x3C0,0x3C0);
  1376.  
  1377.     out(0x3C0,0x20);                 /* enable palette */
  1378.     }
  1379.  
  1380.       PROCEDURE SetText
  1381.     {
  1382.     in(r63,0x3DA);                   /* reset attr F/F */
  1383.     out(0x3C0,0);                    /* disable palette */
  1384.  
  1385.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  1386.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  1387.  
  1388.     out(0x3C2,0xA3);                 /* misc out reg */
  1389.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  1390.  
  1391.     /* set extended sequencer regs */
  1392.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  1393.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  1394.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  1395.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  1396.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  1397.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  1398.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  1399.  
  1400.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1401.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  1402.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  1403.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  1404.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1405.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  1406.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  1407.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1408.  
  1409.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1410.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  1411.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  1412.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  1413.  
  1414.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  1415.  
  1416.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  1417.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  1418.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1419.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1420.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  1421.     bout(20,0x3C0,0x3C0);
  1422.  
  1423.     out(0x3C0,0x20);                 /* enable palette */
  1424.     }
  1425.  
  1426. VENDOR VIDEO7      "Video 7"
  1427.  MODEL  VRAMII        "VRAM II"
  1428.   CLASS  SVGA         "SVGA"
  1429.    MODE   720x540-16  "720x540 16-color"      /* VGA 720x540 16 color */
  1430.  
  1431.       MEMORY(0xA0000,0x20000);        /*  Base Address, Length        */
  1432.       PORT(0x3C2,0x3CA,0x3CC,0x3DA);  /*  General/External registers  */
  1433.       PORT(0x3C0,0x3C1);              /*  Attribute                   */
  1434.       PORT(0x3C4,0x3C5);              /*  Sequencer                   */
  1435.       PORT(0x3C7,0x3C8,0x3C9);        /*  Color registers             */
  1436.       PORT(0x3CE,0x3CF);              /*  Graphics                    */
  1437.       PORT(0x3D4,0x3D5);              /*  CRTC                        */
  1438.  
  1439.       DATA
  1440.     {
  1441.     XDRIVER     = "mw";
  1442.     DEPTH       = 4;
  1443.     VISUAL      = "PseudoColor";
  1444.     DEVTYPE     = 01;
  1445.     DEVTECH     = 0x0D;            /* VGA */
  1446.     PIXBYTES    = 90;
  1447.     PIXWIDTH    = 720;
  1448.     PIXHEIGHT   = 540;
  1449.     PIXRESX     = 68;
  1450.     PIXRESY     = 50;
  1451.     PIXBITS     = 1;
  1452.     PIXPLANES   = 4;
  1453.     BASEADDRESS = 0xA0000;
  1454.     INTERLEAVE  = 1;
  1455.     INTERSIZE   = 80;
  1456.     }
  1457.  
  1458.       PROCEDURE  SetGraphics
  1459.     {
  1460.     in(r63,0x3DA);                   /* reset attr F/F  */
  1461.     out(0x3C0,0);                    /* disable palette */
  1462.  
  1463.     r0 = 1;  r1 = 1;  r2 = 0x0F;  r3 = 0;  r4 = 6;
  1464.     bout(6,0x3C4,0x3C5);             /* reset, sequencer regs */
  1465.  
  1466.     out(0x3C2,0xeF);                 /* misc out reg */
  1467.  
  1468.     /* enable extension registers */
  1469.     out(0x3c4, 0x06); out(0x3c5, 0xea);
  1470.  
  1471.     /* extended registers */
  1472.     out(0x3c4,0xfd);out(0x3c5,0x00);
  1473.     out(0x3c4,0xa4);out(0x3c5,0x0c);
  1474.     out(0x3c4,0xe1);out(0x3c5,0x00);
  1475.     out(0x3c4,0xfc);out(0x3c5,0x08);
  1476.     out(0x3c4,0xf6);out(0x3c5,0x00);
  1477.     out(0x3c4,0xf8);out(0x3c5,0x13);
  1478.     out(0x3c4,0xff);out(0x3c5,0x00);
  1479.     out(0x3c4,0xe0);out(0x3c5,0x10);
  1480.  
  1481.     r0=3; bout(1,0x3C4,0x3C5);       /* sequencer enable */
  1482.  
  1483.  
  1484.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1485.     r0  = 0x6f;  r1  = 0x59;  r2  = 0x5a;  r3  = 0x92; /* crtc */
  1486.     r4  = 0x61;  r5  = 0x89;  r6  = 0x47;  r7  = 0xf0;
  1487.     r8  = 0x00;  r9  = 0x60;  r10 = 0x00;  r11 = 0x00;
  1488.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1489.     r16 = 0x26;  r17 = 0x88;  r18 = 0x1b;  r19 = 0x2d;
  1490.     r20 = 0x00;  r21 = 0x24;  r22 = 0x3f;  r23 = 0xE3;
  1491.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1492.  
  1493.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1494.     r0  = 0x00;  r1  = 0x00;  r2  = 0x00;  r3  = 0x00;
  1495.     r4  = 0x00;  r5  = 0x00;  r6  = 0x05;  r7  = 0x0F;
  1496.     r8  = 0xFF;  bout( 9, 0x3CE, 0x3CF );
  1497.  
  1498.     in(r63,0x3DA);                   /* reset attr F/F */
  1499.  
  1500.     r0  = 0x00;  r1  = 0x01;  r2  = 0x02;  r3  = 0x03; /* palette */
  1501.     r4  = 0x04;  r5  = 0x05;  r6  = 0x14;  r7  = 0x07;
  1502.     r8  = 0x38;  r9  = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1503.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1504.  
  1505.     r16 = 0x01;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x00; /* attr cntlr */
  1506.     bout(20,0x3C0,0x3C0);
  1507.  
  1508.     out(0x3C0,0x20);                 /* enable palette */
  1509.     }
  1510.  
  1511.       PROCEDURE SetText
  1512.     {
  1513.     in(r63,0x3DA);                   /* reset attr F/F */
  1514.     out(0x3C0,0);                    /* disable palette */
  1515.  
  1516.     r0 = 0x01;  r1 = 0x01;  r2 = 0x03;  r3 = 0x00;  r4 = 0x02;
  1517.     bout(5,0x3C4,0x3C5);             /* reset, sequencer regs */
  1518.  
  1519.     out(0x3C2,0xA3);                 /* misc out reg */
  1520.     r0=0x03; bout(1,0x3C4,0x3C5);    /* sequencer reg 0, enable */
  1521.  
  1522.     /* set extended sequencer regs */
  1523.     out(0x3C4, 0xFD); out(0x3C5, 0x22); 
  1524.     out(0x3C4, 0xA4); out(0x3C5, 0x00);
  1525.     out(0x3C4, 0xFC); out(0x3C5, 0x08);
  1526.     out(0x3C4, 0xF6); out(0x3C5, 0x00);
  1527.     out(0x3C4, 0xF8); out(0x3C5, 0x03);
  1528.     out(0x3C4, 0xFF); out(0x3C5, 0x00);
  1529.     out(0x3C4, 0xE0); out(0x3C5, 0x10);
  1530.  
  1531.     out(0x3D4,0x11); out(0x3D5,0);   /* unprotect crtc regs 0-7 */
  1532.     r0  = 0x5F;  r1  = 0x4F;  r2  = 0x50;  r3  = 0x82; /* crtc regs */
  1533.     r4  = 0x55;  r5  = 0x81;  r6  = 0xBF;  r7  = 0x1F;
  1534.     r8  = 0x00;  r9  = 0x4F;  r10 = 0x0D;  r11 = 0x0E;
  1535.     r12 = 0x00;  r13 = 0x00;  r14 = 0x00;  r15 = 0x00;
  1536.     r16 = 0x9C;  r17 = 0x8E;  r18 = 0x8F;  r19 = 0x28;
  1537.     r20 = 0x1F;  r21 = 0x96;  r22 = 0xB9;  r23 = 0xA3;
  1538.     r24 = 0xFF;  bout(25,0x3D4,0x3D5);
  1539.  
  1540.     out(0x3CC,0x00); out(0x3CA,0x01); /* graphics controller */
  1541.     r0 =  0x00;  r1 =  0x00;  r2 =  0x00;  r3 =  0x00;
  1542.     r4 =  0x00;  r5 =  0x10;  r6 =  0x0E;  r7 =  0x00;
  1543.     r8 =  0xFF;  bout(9,0x3CE,0x3CF);
  1544.  
  1545.     in(r63,0x3DA);                   /* reset attribute flip/flop */
  1546.  
  1547.     r00 = 0x00;  r01 = 0x01;  r02 = 0x02;  r03 = 0x03; /* palette */
  1548.     r04 = 0x04;  r05 = 0x05;  r06 = 0x14;  r07 = 0x07;
  1549.     r08 = 0x38;  r09 = 0x39;  r10 = 0x3A;  r11 = 0x3B;
  1550.     r12 = 0x3C;  r13 = 0x3D;  r14 = 0x3E;  r15 = 0x3F;
  1551.     r16 = 0x0C;  r17 = 0x00;  r18 = 0x0F;  r19 = 0x08; /* attr cntlr */
  1552.     bout(20,0x3C0,0x3C0);
  1553.  
  1554.     out(0x3C0,0x20);                 /* enable palette */
  1555.     }
  1556.  
  1557. /* eof */
  1558.